package com.shujia.day08.homework;

/*
    1.使用面向对象的思想，编写自定义描述狗的信息。设定属性包括：品种，年龄，心  情，名字；方法包括：叫，跑。
    要求：
        1)设置属性的私有访问权限，通过公有的 get,set 方法实现对属性的访问
        2)限定心情只能有“心情好”和“心情不好”两种情况，如果无效输入进行提示，  默认设置“心情好”。
        3)设置构造函数实现对属性赋值
        4)叫和跑的方法，需要根据心情好坏，描述不同的行为方式。
    编写测试类，测试狗类的对象及相关方法（测试数据信息自定义）
 */

class Dog{
    //品种，年龄，心情，名字
    private String kind;
    private int age;
    private String mood;
    private String name;

    Dog(){}
    Dog(String kind,int age,String mood,String name){
        this.kind = kind;
        this.age = age;
        setMood(mood);
        this.name = name;
    }


    public String getKind() {
        return kind;
    }

    public void setKind(String kind) {
        this.kind = kind;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getMood() {
        return mood;
    }

    public void setMood(String mood) {
        if("心情很好".equals(mood) || "心情不好".equals(mood)){
            this.mood = mood;
        }else {
            System.out.println("输入信息错误，这只狗狗今天心情很好！");
            this.mood = "心情很好";
        }
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void call(){
        if("心情很好".equals(this.mood)){
            System.out.println("名字叫"+name+"的"+kind+"心情很好，开心的汪汪叫");
        }else {
            System.out.println("名字叫"+name+"的"+kind+"心情不好，伤心的呜呜叫");
        }
    }

    public void run(){
        if("心情很好".equals(this.mood)){
            System.out.println("名字叫"+name+"的"+kind+"心情很好，开心的围着主人身边转");
        }else {
            System.out.println("名字叫"+name+"的"+kind+"心情不好，伤心的一动不动");
        }
    }

    public void show(){
        run();
        call();
    }
}

public class Test1 {
    public static void main(String[] args) {
        //创建第一只狗狗
        Dog d1 = new Dog("贵宾犬", 3, "五味杂陈", "甜心");
        d1.show();
        System.out.println("=================================");
        Dog d2 = new Dog("德国牧羊犬", 4, "心情不好", "太子");
        d2.show();
    }
}
